package com.moyu.article.service;


import com.github.pagehelper.PageInfo;
import com.moyu.article.domain.comment.Comment;
import com.moyu.article.domain.comment.dto.CommentDTO;
import com.moyu.article.domain.comment.dto.CommentItemQueryDTO;
import com.moyu.article.domain.comment.dto.CommentQueryDTO;
import com.moyu.article.domain.comment.dto.DetailQueryDTO;
import com.moyu.article.domain.comment.vo.CommentListVO;
import com.moyu.article.domain.comment.vo.CommentQueryVO;
import com.moyu.article.domain.comment.vo.CommentVO;

import java.util.List;

/**
 * @Author 赵彦博
 * @Date 2025/3/30 9:28
 */
public interface ICommentService {

    List<CommentVO> list(CommentQueryDTO query);

    /**
     * 审核通过评论
     *
     * @param commentId 评论ID
     */
    int approveComment(String commentId);

    /**
     * 审核不通过评论
     *
     * @param commentId 评论ID
     */
    int rejectComment(String commentId);

    List<String> getCommentByPost(DetailQueryDTO dto);

    CommentListVO getCommentItem(CommentItemQueryDTO dto);

    PageInfo<CommentListVO> getCommentList(CommentItemQueryDTO dto);

    void cancelLikeComment(Long commentId, Long userId);

    void likeComment(Long commentId, Long userId);

    Comment  createComment(CommentDTO commentDTO);

    List<CommentQueryVO> getComments(Long postId, Long userId);
}
